package com.yc.cloud.api.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 录制操作类型枚举
 *
 * @author kinggu
 * @since 2025-01-15
 */
@Getter
@AllArgsConstructor
public enum RecordingOperationTypeEnum {

    /**
     * 开始录制
     */
    START("START", "开始录制"),

    /**
     * 停止录制
     */
    STOP("STOP", "停止录制");

    private final String code;
    private final String description;

    /**
     * 根据代码获取枚举
     * @param code 操作类型代码
     * @return 操作类型枚举
     */
    public static RecordingOperationTypeEnum getByCode(String code) {
        if (code == null) {
            return null;
        }
        for (RecordingOperationTypeEnum type : values()) {
            if (type.getCode().equals(code)) {
                return type;
            }
        }
        return null;
    }

    /**
     * 判断是否为开始录制
     * @param code 操作类型代码
     * @return 是否为开始录制
     */
    public static boolean isStart(String code) {
        return START.getCode().equals(code);
    }

    /**
     * 判断是否为停止录制
     * @param code 操作类型代码
     * @return 是否为停止录制
     */
    public static boolean isStop(String code) {
        return STOP.getCode().equals(code);
    }
}